import SessionSellingServerUtil from "../data/session/sessionSellingServer";


// 行业语言字典
let langDic = {
    "server_title":{
        jxb: "酒水顾问",
        com: "销售顾问",
    },
    "buy_goods":{
        jxb: "买酒",
        com: "服务",
    },
    "vcard_slogn":{
        jxb: "选择酒水顾问，享受优质的购酒体验",
        com: "选择顾问，享受优质的购物体验"
    },
    "shopping_points":{
        jxb: "酒米",
        com: "积分",
    },
    "shopping_points_unit":{
        jxb: "粒",
        com: "分",
    },
    "invite_dinner": {
        jxb: "约酒请客",
        com: "我的订餐",
    }
}

/**
 * 语言工具类
 *
 * 根据当前业务类型展示特定行业的文案、用语
 * @export
 * @class LangUtil
 */
export default class LangUtil
{
    defaultLang = 'com';

    /**
     *语言类型
     *
     * @readonly
     * @memberof LangUtil
     */
    static getLangType(){
        let agent = SessionSellingServerUtil.getInstanceSync().getTheAgentSync();
        if(agent === null){
            return this.defaultLang;
        }
        return agent.langShown;
    }

    /**
     *执行翻译
     *
     * @static
     * @param {string} textual 通用内容
     * @returns 翻译后的内容
     * @memberof LangUtil
     */
    static translate(textual){
        if(typeof langDic[textual] === 'undefined'){
            return textual;
        }
        let langType = this.getLangType();
        if(typeof langDic[textual][langType] === 'undefined'){
            if(this.defaultLang === langType){
                return textual; // 当前语言已经是默认语言则不再翻译
            }
            // 如果没有设置对应的语言，则尝试使用默认语言
            langType = this.defaultLang;
        }
        if(typeof langDic[textual][langType] === 'undefined'){
            return textual; // 仍未找到语言配置，则不翻译
        }
        return langDic[textual][langType];
    }
}